#include<stdio.h>
int change_to_26(int *, int);
int main()
{
    int L,N;
    scanf("%d %d", &L, &N);
    //本质为26进制数字：0为a，1为b。。。。25为z
    //用zzz....zz - N转化的26进制字符串
    int ret[10] = {0};
    N--;//减一原因，比如说要倒数第一个就是最后一个，在以下逻辑下即要减去的是26进制的0（1-1）
    int n = change_to_26(ret, N);//结果是逆序的//n = count 位数
    int i = 0;
    int tmp = n;
    for (i = tmp; tmp < L; tmp++)
    {
        printf("z");
    }
    for (i = n - 1; i >= 0; i--)
    {
        printf("%c", 'z' - ret[i]);
    }
    return 0;
}
int change_to_26(int *ret, int n)
{
    static int count = 0;
    if (n == 0)
    {
        return count;
    }
    else
    {
        count++;
        *ret = n % 26;
        return change_to_26(ret + 1, n / 26);
    }
}